package com.huatai.bi.dto.bigScreen;

import com.huatai.bi.utils.FilterComponent.Node;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @BelongsProject: itc-airport-cloud
 * @BelongsPackage: com.itc.bi.dto.bigScreen
 * @Author: xuzy
 * @Version: 1.0
 */
@Data
@ApiModel(value = "大屏交叉表数据查询")
public class BigCrossTableQueryDTO implements Serializable{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "数据集id")
    private Long id;

    @ApiModelProperty(notes = "组件标题")
    private String title;

    @ApiModelProperty(notes = "数据集X轴配置")
    private List<BigCrossTableDimensionDTO> rows = new ArrayList<>();

    @ApiModelProperty(notes = "数据集Y轴配置")
    private List<BigCrossTableDimensionDTO> columns = new ArrayList<>();

    @ApiModelProperty(notes = "指标")
    private List<BigCrossTableDimensionDTO> metrics = new ArrayList<>();

    @ApiModelProperty(notes = "数据集联动配置")
    private List<BigScreenLinkageDTO> linkage;

    @ApiModelProperty(notes = "全字段联动配置")
    private LinkageAndDowncastAllColumnDTO linkageAllColumn;

    @ApiModelProperty(notes = "数据下钻配置")
    private List<BigScreenDowncastDTO> downcast;

    @ApiModelProperty(notes = "全字段下钻配置")
    private LinkageAndDowncastAllColumnDTO downcastAllColumn;

    @ApiModelProperty(notes = "数据集过滤条件")
    private Node node;

    @ApiModelProperty(notes = "数据集全局过滤条件")
    private List<BigScreenGlobalFilterDTO> globalFilter;

    @ApiModelProperty(notes = "分页序号")
    private Integer pageIndex;
	@ApiModelProperty(notes = "分页大小")
	private Integer pageSize;

    @ApiModelProperty(notes = "列分页大小")
    private Integer columnPageIndex;

    //展开设置
    //List<BigCrossTableExpanDTO> expan = new ArrayList<>();
    List<Map<String,String>> chooseColumns;
    List<Map<String,String>> chooseColumns1;
}
